package com.software.car.common.enums;

/**
 * 用户角色枚举
 * @Author 魔法はまだ解けない
 * @Date 2021/1/31
 */
public enum RoleEnum {

    CUSTOMER(1,"游客"),
    ROLE_USER(2,"用户"),
    ROLE_ADMINISTER(4,"管理员"),
    ROLE_SUPER_ADMINISTER(6,"超级管理员");

    /**
     * 存入数据库的码
     */
    private int id;
    /**
     * 角色名称
     */
    private String name;

    /**
     * 提权码
     */
    private String code;

    /**
     * 异常码枚举构造器
     *
     * @param name  异常状态信息
     */
    RoleEnum(int id, String name) {
        this.id=id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public static Integer getRole(String name){
        RoleEnum[] values = RoleEnum.values();
        for (RoleEnum roleEnum : values) {
            if(roleEnum.getName().equals(name)){
                return roleEnum.getId();
            }
        }
        return null;
    }

    //校验给出的role是否存在
    public static Integer getRole(Integer id){
        RoleEnum[] values = RoleEnum.values();
        for (RoleEnum roleEnum : values) {
            if(roleEnum.getId()==id){
                return roleEnum.getId();
            }
        }
        return null;
    }
}
